﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using Tibet.Logica;
using NUnit.Framework;

namespace Tibet.Pruebas
{

    ///<summary>
    /// Pruebas Unitarias para el caso de uso Crear Usuario
    /// </summary>
 
    [TestFixture]
    public class CrearUsuario
    {

        /// <summary>
        /// Prueba Unitaria que se encarga de probar que la persona a crear
        /// no exista en el sistema
        /// </summary>
        [TestCase]
        public void PruebaExisteUsuario()
        {

            Usuario user = new Usuario();
            user.Login.Alias = "Prueba";
            user.Login.Clave = "1234";
            user.Rol.Nombre = "Administrador";
            user.Rol.IngresarPrivilegio(1);
            user.DatosUsuario.Id = 1;
            user.DatosUsuario.Nombre = "Andres";
            user.DatosUsuario.Apellido = "Godoy";       
            user.DatosUsuario.Email = "blas@gmail.com";
            

            //Consulta a base de datos   
            Boolean existeUsuario = user.RevisarUsuario(user);

            //Existe usuario en la bd
            Assert.AreEqual(existeUsuario, true);

        
        }



        /// <summary>
        /// Prueba unitaria que se encarga de probar que la insercion a la bd
        /// haya insertado efectivamente un Usuario
        /// </summary>
        [TestCase]
        public void PruebaInsertoUsuario()
        {

            Usuario user = new Usuario();
            user.Login.Alias = "Prueba";
            user.Login.Clave = "1234";
            user.Rol.Nombre = "Administrador";
            user.Rol.IngresarPrivilegio(1);
            user.DatosUsuario.Id = 1;
            user.DatosUsuario.Nombre = "Andres";
            user.DatosUsuario.Apellido = "Godoy";
            user.DatosUsuario.Email = "blas@gmail.com";
            Usuario userAux = new Usuario();

            //consulta Base de Datos
            userAux = user.ConsultarUsuario(user) as Usuario;

            //Es un Usuario
            Assert.IsInstanceOf(typeof(Usuario), userAux);

        }

    }
}